﻿using Microsoft.Extensions.DependencyInjection;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using ZFB.Repository.AdminLog;
using ZFB.Repository.AdminUser;
using ZFB.Repository.Attachments;
using ZFB.Repository.City;
using ZFB.Repository.Community;
using ZFB.Repository.House;
using ZFB.Repository.HouseAppointments;
using ZFB.Repository.IdName;
using ZFB.Repository.Permission;
using ZFB.Repository.Region;
using ZFB.Repository.Role;
using ZFB.Repository.Setting;
using ZFB.Repository.User;

namespace ZFB.Repository
{
    public static class AddRepository
    {
        public static IServiceCollection AddRepositories(this IServiceCollection services)
        {
            services.AddScoped<ICityRepository,CityRepository>();
            services.AddScoped<IAdminLogRepository, AdminLogRepository>();
            services.AddScoped<IAdminUserRepository, AdminUserRepository>();
            services.AddScoped<IAttachmentsRepository, AttachmentsRepository>();
            services.AddScoped<ICommunityRepository, CommunityRepository>();
            services.AddScoped<IHouseAppointmentsRepository, HouseAppointmentsRepository>();
            services.AddScoped<IHouseRepository, HouseRepository>();
            services.AddScoped<IIdNameRepository, IdNameRepository>();
            services.AddScoped<IPermissionRepository, PermissionRepository>();
            services.AddScoped<IRegionRepository, RegionRepository>();
            services.AddScoped<IRoleRepository, RoleRepository>();
            services.AddScoped<ISettingRepository, SettingRepository>();
            services.AddScoped<IUserRepository, UserRepository>();

            return services;
        }
    }
}
